//
//  TouchLayer.h
//  Seek&Hide
//
//  Created by 齐思 陈 on 13-10-5.
//
//

#ifndef __Seek_Hide__TouchLayer__
#define __Seek_Hide__TouchLayer__

#include "Config.h" 

USING_NS_CC;

class TouchLayer : public cocos2d::CCLayer
{
private:
	  //整个地图
	  CCTMXTiledMap *m_map;
	  
	  //当前屏幕右上角相对于大地图的位置(像素）
	  CCPoint m_map_point;

	  //主角当前在大地图上的位置(像素）
	  CCPoint m_player_point;

	  //周围可走方格（可以在计算的时候post出去，不用写）
	  CCPointArray * mp_runnable_block;


	  //获得整个地图层
	  void getMap(CCTMXTiledMap* );

	  //获得当前屏幕右上角相对于大地图的位置(像素）
	  void getMapPoint(CCPoint);

	  //获得主角当前在大地图上的位置（像素）
	  void getPlayerPoint(CCPoint);

public:
    virtual bool init();

	virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);

	//outputRBlock调用函数，判断该点是否可走
	bool touchTest(CCPoint);

	//输入当前屏幕的坐标输出坐标相对于整个地图的格子坐标
	CCPoint convertToMapPoint(CCPoint);

	//输入当前整个地图的格子坐标输出相对于当前屏幕坐标（左下角为原点）
	CCPoint convertToScreenPoint(CCPoint);

	//输入一个点输出该点周围可以走的点，主要是修改mp_runnable_block内容以及post消息
	void outputRBlock(CCPoint);

    CREATE_FUNC(HelloWorld);

};

#endif  
